精华内容
下载资源
问答
  • 一、scrapy生成csv文件会有多余的空行 当使用scrapy crawl testspider -o test.csv后,生成的默认...首先打开C:\Users\fengyun\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\scrapy里的export...

    一、scrapy生成csv文件会有多余的空行

    当使用scrapy crawl testspider -o test.csv后,生成的默认csv文件每一行之间是有空行的,解决的方法是修改scrapy的源代码

    首先打开C:\Users\fengyun\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\scrapy里的exporters.py文件(依据自己的安装路径进行查找)

    在打开的文件中添加一行newline=“”,问题就解决了。

     

     二、csv文件使用excel打开显示乱码

    网上大部分的方法都是新建一个excel文件,然后把这个csv导进去,修改分割值,而且其实最后还可能因为某些原因拷入数据的时候失败

    这里介绍第二种方法,使用Notepad++修改编码

    中文一般就用UTF-8就可以了,不行就试试UTF-8-BOM编码

    展开全文
  • 这个时候先别急着找后端,只要能下载生成想要的文件,文件打开内容是正确的都好说.下面总结几种生成导出的写法: 一. a标签点击下载 let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'}); let link =...
  • 由于默认导出是 UTF-8 格式,CVS 文件用记事本打开另存为 UTF-8 格式文件保存后,打开就不乱码了!

    由于默认导出是 UTF-8 格式,CVS 文件用记事本打开另存为 UTF-8 格式文件保存后,打开就不乱码了!

    展开全文
  • 使用CSV打开文件是正常的,但是使用Excel打开文件就出现了中文乱码。导出的CSV文件是UTF-8无BOM编码格式,而我Excel的UTF-8编码格式都是有BOM的,添加BOM之后,乱码就可解决。 private function _write_csv($data...

    使用 CSV 打开文件是正常的,但是使用 Excel 打开文件就出现了中文乱码。导出的 CSV 文件是 UTF-8无BOM编码格式,而我Excel的UTF-8编码格式都是有BOM 的,添加 BOM 之后,乱码就可解决。

        private function _write_csv($data)
        {
            file_put_contents($this->_file_dir, '');
    
            $file = fopen($this->_file_dir, 'w');
            fwrite($file, chr(0xEF).chr(0xBB).chr(0xBF)); // 添加 BOM
            $content = [
                '日期',
                '品类',
                '价格',
                '单位',
            ];
            fputcsv($file, $content);
            foreach ($data as $item) {
                $content = [
                    $item['product_name'],
                    date('Y-m-d', $item['day_time']),
                    $item['price'],
                    $item['unit_name']
                ];
                fputcsv($file, $content);
            }
            fclose($file);
        }
    展开全文
  • 代码如下: ... # -*- coding: UTF-8 -*- ...data = file1.read().decode('...以上这篇解决python使用open打开文件中文乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
  • 之前项目中用到了生成csv文件编码UTF-8在windos下excel打开乱码 二话不说直接撸上代码 解决方法如下: 1:生成csv文件封装类 public class CreateCsvUtil { @SuppressWarnings("rawtypes") public static...

    之前项目中用到了生成csv文件编码UTF-8在windos下excel打开乱码
    二话不说直接撸上代码

    解决方法如下:
    1:生成csv文件封装类

    public class CreateCsvUtil {  @SuppressWarnings("rawtypes")
        public static File createCSVFile(List exportData, LinkedHashMap map, String outPutPath,String fileName) {
            File csvFile = null;
            BufferedWriter csvFileOutputStream = null;
            try {
                File file = new File(outPutPath);
                if (!file.exists()&&!file.isDirectory()) {
                    file.mkdirs();
                }
                //定义文件名格式并创建
                csvFile = File.createTempFile(fileName, ".csv", new File(outPutPath));
                System.out.println("csvFile:" + csvFile);
                FileOutputStream fileOutputStream = new FileOutputStream(csvFile);
                //加入bom 否则生成的csv文件 用excel乱码
                fileOutputStream.write(new byte[] { (byte) 0xEF, (byte) 0xBB,(byte) 0xBF});
                // UTF-8使正确读取分隔符"," 
                OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream
                        , "utf-8");
                csvFileOutputStream = new BufferedWriter(outputStreamWriter, 1024);
                System.out.println("csvFileOutputStream:" + csvFileOutputStream);
                // 写入文件头部
                for (Iterator propertyIterator = map.entrySet().iterator(); propertyIterator.hasNext(); ) {
                    java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator.next();
                    csvFileOutputStream.write((String) propertyEntry.getValue() != null ? (String) propertyEntry.getValue() : "");
                    if (propertyIterator.hasNext()) {
                        csvFileOutputStream.write(",");
                    }
                }
                csvFileOutputStream.newLine();
                // 写入文件内容
                for (Iterator iterator = exportData.iterator(); iterator.hasNext(); ) {
                    Object row = (Object) iterator.next();
                    for (Iterator propertyIterator = map.entrySet().iterator(); propertyIterator.hasNext(); ) {
                        java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator
                                .next();
                        //如果是空值则进行处理用 "-" 号填充 否则会抛空指针
                       String va="-";
                        String property = BeanUtils.getProperty(row, (String) propertyEntry.getKey());
                        if(property!=null&&!property.equals("")){
                            csvFileOutputStream.write((String)property);
                        }else{
                            csvFileOutputStream.write((String)va);
                        }
                        if (propertyIterator.hasNext()) {
                            csvFileOutputStream.write(",");
                        }
                    }
                    if (iterator.hasNext()) {
                        csvFileOutputStream.newLine();
                    }
                }
                csvFileOutputStream.flush();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    csvFileOutputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return csvFile;
        }
    }
    

    2:csv数据填充:

    	   /**
    	     * java生成csv文件
    	     */
    	public void createCsvFile(HttpServlteRequest request,HttpServlteResponse response){
    	    	List exportData = new ArrayList<Map>();
    	        Map row = new LinkedHashMap<String, String>();
    	        row.put("1",1);
    	        row.put("2",2);
    	        row.put("3",3);
    	        row.put("4",4);
    	        exportData.add(row);
    	        //设置列名
    	        LinkedHashMap map = new LinkedHashMap();
    	        map.put("1","姓名");
    	        map.put("2","年龄");
    	        map.put("3","性别");
    	        map.put("4","证件");
    	        //文件名=生产的文件名称
    	        String fileName = "文件名称";
    	        String path="服务器路径";
    	        File file = CreateCsvUtil.createCSVFile(exportData, map, path, fileName);
    	 }	
    

    成功解决生成csv文件excel打开乱码问题

    如有问题欢迎留言!

    注:转载请注明出处

    展开全文
  • data_list = [ ['id', 'name', 'age'], [1, 'yang', 18], [3, '大勇勇', 15], [4, '大远', 17], ...# 加入encoding='utf-8-sig'就不会乱码了 def csv_write(path, data): with open(path, ...
  • python使用open打开文件中文乱码

    千次阅读 2017-12-27 10:36:28
    代码如下: 先在D盘下新建一个html文档,然后在里面输入含有中文的Html字符如下图,然后我们首先使用中文格式对读取的字符进行解码再用utf-8的模式对... ...# -*- coding: UTF-8 -*- ...data = file1.read().decode('
  • QT5写csv文件,文件打开后中文显示乱码的问题解决 最近在做一个用QT5做上位机界面的项目,在项目测试时发现写csv文件,文件打开后中文显示乱码的问题,在网上查了不少资料,问题也没有解决,折腾了两天,后来才找到...
  • 补充一句:如果datagrip查询字段名乱码:请调整字体。字体。字体。 **解决方案有很多:** 1. 其他帖子有用编辑器修改编码为GBK后保存,然后EXCLE使用。 2. 使用EXCLE的导入功能,将CSV文件导入。...
  • with open('data/douban.csv', mode='a', newline='', encoding='utf-8') as fw: ...在用这段代码写入文件打开后会出现乱码问题,在网上找了很多办法,都是乱码;最后把encoding='utf-8'修改成encodin...
  • 打开C:\Users\Administrator\Application Data\IDMComp\UltraEdit\Uedit32.ini 将[Settings]中 Auto Detect UTF8=1改成 Auto Detect UTF8=0
  • 3步解决aqua data studio 中文乱码问题

    万次阅读 2018-05-07 15:31:37
    1、打开 文件 --》 选项     2、选中 一般 -》网格显示字体 --》 选择宋体     3、确定保存,从新启动 aqua data studio后中文就不乱码了 更多精彩技术分享请浏览本人博客:https://blog.csd...
  • 程序输入之后,记事本只显示name、addr,而int型数据均为乱码,请问如何解决这一问题?? #include #define SIZE 3 struct Student_type { char name[10]; int num; int age; char addr[15]; }stud[SIZE]; ...
  • Ubuntu文件中文乱码

    千次阅读 2015-09-24 10:10:45
    如图,该文件在gedit打开中文显示正常 在命令行中用vim打开,显示内容如下: 使用命令进行编码转换 iconv -f gbk -t utf8 ./SogouQ.mini > ./sougou.data 转换后vim中显示正常
  • 博主在生成csv文件后,发现使用excel文件打开后中文乱码,下面是我之前会发生乱码的代码,并没有显式设置文件的编码格式,以此生成了编译环境默认的文件编码格式。 BufferedWriter writer=null; File file= new ...
  • 由于用到比较多的pdf文件,所以就总结了下怎样在ubuntu下解决pdf文件乱码问题。 1.第一步:  sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional poppler-data  其中:  xpdf-chinese-...
  • aqua data studio乱码处理

    2019-09-16 20:56:22
    最近用aqua data studio这个软件来连接数据库,结果杯具了,中文是乱码,google了半天,发现了如下解决方法,记录下. 具体操作: 在工具栏打开文件”->“选项”->修改“编辑器字体”、“文本结果字体”、...
  • 上传word文件内容乱码

    2019-03-04 16:27:10
    但上传word文件后,打开里面内容就变成了乱码 ``` @ResponseBody @RequestMapping(value = "upload", method = RequestMethod.POST) public Object uploadCon( HttpServletRequest request, ...
  • 使用blob导出.xlsx文件打开后出错,如下: WPS表格 在试图打开文件时遇到错误。请尝试以下方法。 检查文档或驱动器得到访问权限。 确保有足够的内存和磁盘空间。 确保此文件是可以识别的格式。 前端查看...
  • String Data_Path = "D:/file_jiucool.txt";   File file = new File(Data_Path);   String line= "";   if(file.exists()){   FileReader reader = new FileRea
  • Word文件乱码XML

    2018-05-21 20:01:00
    一个朋友写的文档因为异常关机,导致全部文件变成了xml的乱码,正好帮他解决了,感觉这些或许有些帮助,就先记录下来了. 破损文件介绍 文件破坏之后,打开全是xml格式的文档,结构如下. 恢复过程 本来WSP有自动保存机智的...
  • inputFile = codecs.open('datacsv_2105.csv', 'r','utf-8') 写入文件 outputFile1 = codecs.open('a.csv', 'w','utf-8') outputFile1.write(str(sentenceID) + ',' + str(index + 1) + ',' + k...
  • 请问在对文件进行读写的时候,将一double型的数组写进文件中,之后打开文件,为什么都是乱码?怎么修改才能在文件中显示数值呢? 附写的代码: #include #include #include struct type { double data[2]...
  • 今天在学习csv文件写入数据的时候发现,中文编译不... 在python3环境中,简单又直接,直接在打开文件中加个encoding属性,值为"utf-8",代码如下: # 写数据到csv文件中 import csv data = [ ['name', '...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 343
精华内容 137
关键字:

data文件打开乱码