社区
基础编程
帖子详情
怎么从文件的内容判断一个文件是不是.csv文件
wuyuwww
2012-08-22 04:57:23
这里面不允许通过扩张名。怕别人改扩张名
还有我安装里面是否包含逗号不行,因为有的文件是读出的内容也是乱码?结果它就会把乱码读成逗号?
而且我需要判断.csv文件的严谨方法和理论,不能想当然的。其实仅按逗号肯定是不严谨的啊,其实是乱码可能变成逗号,其二一个文件里面有一个逗号算是合格的csv文件了
谢谢,求高手
...全文
902
18
打赏
收藏
怎么从文件的内容判断一个文件是不是.csv文件
这里面不允许通过扩张名。怕别人改扩张名 还有我安装里面是否包含逗号不行,因为有的文件是读出的内容也是乱码?结果它就会把乱码读成逗号? 而且我需要判断.csv文件的严谨方法和理论,不能想当然的。其实仅按逗号肯定是不严谨的啊,其实是乱码可能变成逗号,其二一个文件里面有一个逗号算是合格的csv文件了 谢谢,求高手
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wuyuwww
2012-08-23
打赏
举报
回复
[Quote=引用 14 楼 的回复:]
以半角逗号(即,)作分隔符,列为空也要表达其存在
这点很重要
[/Quote]
都跟你说了,这个等于没说?
要是你的一个word里面也有逗号,你读出内容,请问你知道这个逗号是分割符还是有效字符吗?
你可以按照逗号来读取一个.csv文件
但是你仅用有没有逗号来区别是不是。csv文件 这个太牵强。理由太不充分
这个逗号不是充要条件
wuyuwww
2012-08-23
打赏
举报
回复
[Quote=引用 12 楼 的回复:]
按规则要求来查
[/Quote]
请问什么规格要求
黄袍披身
2012-08-23
打赏
举报
回复
找一个csv导成其他格式的类 能导成功的就是 不能的就不是,这曲线救国了吧
xuzuning
2012-08-23
打赏
举报
回复
以半角逗号(即,)作分隔符,列为空也要表达其存在
这点很重要
Meteorlet
2012-08-23
打赏
举报
回复
你希望用户的csv是什么格式?另外对于文件来说,没有乱码的概念,只有字节的概念,
乱码只是若干字节不能在指定的字符集(比如GB2312)里显示而已。
franzhong
2012-08-23
打赏
举报
回复
按规则要求来查
wuyuwww
2012-08-23
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
我要是第一行写5个元素,第二行写3个,第三行写4个,你的每行逗号还是相等的吗
[/Quote]我这样写不行吗?那就不是csv文件了
wuyuwww
2012-08-23
打赏
举报
回复
csv 文件表达的是一个阵列?
这个是值得思考和调研的一个问题。
xuzuning
2012-08-23
打赏
举报
回复
全称
Comma Separated Values
编辑本段
规则
1 开头是不留空,以行为单位。
2 可含或不含列名,含列名则居文件第一行。
3 一行数据不垮行,无空行。
4 以半角逗号(即,)作分隔符,列为空也要表达其存在。
5 列内容如存在半角逗号(即,)则用半角引号(即"")将该字段值包含起来。
6 列内容如存在半角引号(即")则应替换成半角双引号("")转义,并用半角引号(即"")将该字段值包含起来。
7 文件读写时引号,逗号操作规则互逆。
8 内码格式不限,可为 ASCII、Unicode 或者其他。
9 不支持特殊字符
xuzuning
2012-08-23
打赏
举报
回复
csv 文件表达的是一个阵列
如果每行的列数不等,就不是csv
wuyuwww
2012-08-23
打赏
举报
回复
我要是第一行写5个元素,第二行写3个,第三行写4个,你的每行逗号还是相等的吗
wuyuwww
2012-08-23
打赏
举报
回复
唯一可识别的地方就是每行都有相等数量的列分隔符(默认是逗号)
这是你自己想的还是理论依据啊
如果我的文件每行的元素都不一样多,你的分割符还是每行都相等吗?
你的分割符的存在是你的每行的元素的多少为情况吧
wuyuwww
2012-08-23
打赏
举报
回复
如果你把jpg或其他类型的让fgetcsv读,他就把你读出乱码
xuzuning
2012-08-23
打赏
举报
回复
任何情况下都不会因读取逗号而导致乱码
csv文件是文本文件,唯一可识别的地方就是每行都有相等数量的列分隔符(默认是逗号)
考虑到内容中可能存在逗号(此时内容需要用引号括起),当检测到80%以上行的列分隔符数量相等时,就可认为是合格的csv文件
另外非标准的csv,即字符类型的内容未用双引号括起的csv。至少在 php5.3 for win 是无法用
fgetcsv 或 str_getcsv 函数正确读取的
Meteorlet
2012-08-23
打赏
举报
回复
[Quote=引用 17 楼 的回复:]
引用 14 楼 的回复:
以半角逗号(即,)作分隔符,列为空也要表达其存在
这点很重要
都跟你说了,这个等于没说?
要是你的一个word里面也有逗号,你读出内容,请问你知道这个逗号是分割符还是有效字符吗?
你可以按照逗号来读取一个.csv文件
但是你仅用有没有逗号来区别是不是。csv文件 这个太牵强。理由太不充分
这个逗号不是充要条件
[/Quote]
建议你还是看看CSV的格式标准吧。逗号就是分隔符,内容中有逗号要用""括起来如果有引号的要转义。
比如:以下格式就是合法的
1, "2,3", "3,4"
str_getcsv这样的csv函数都是实现这些标准的,并没有人说它的实现就是逗号分割
wuyuwww
2012-08-22
打赏
举报
回复
不行的,她只会按照你已经是,csv字符串的格式来解析你的,最后不是false 应该是乱码,对于乱码更是无法下手我
array str_getcsv ( string $input [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]] )
返回数组 非error
去圣西罗-为尤文喝彩
2012-08-22
打赏
举报
回复
试试str_getcsv解析
http://php.net/manual/en/function.str-getcsv.php
用是否error来判断
coder
2012-08-22
打赏
举报
回复
没办法
CSV
文件
乱码的
CSV
文件
操作
csv
格式
文件
之
csv
.reader()方法
文章目录如何使用
csv
.reader()方法以及
csv
.reader()方法的作用 如何使用
csv
.reader()方法以及
csv
.reader()方法的作用 首先我们我们来用一段代码来处理
csv
格式
内容
的
文件
,来模拟
csv
.reader()方法处理
csv
格式的
文件
示例代码1如下: for line in open('sample'): id,name,age = line.split(',') print(id,name,age.strip('\n')) sample为
一个
txt
文件
文
使用ChatGPT解决8个办公自动化问题
通过本课程的学习,您学习到如何使用用ChatGPT解决办公自动化问题,具体
内容
如下。 一、ChatGPT编写程序 编写VBA...三、数据统计与分析 批量统计文档页数和字数 将多个Excel
文件
合并为
一个
文件
四、后记 还有哪些要做
通过读取
文件
头部
判断
是否为
CSV
格式
文件
通过读取
CSV
文件
头,
判断
文件
是是否属于
CSV
文件
类型,一般而言仅仅只是通过
文件
后缀来
判断
该
文件
所属的类型,这样是不合理的,只要更改一下
文件
后缀就无法识别这个
文件
到底
是不是
正确的
文件
格式,把可执行的
文件
后缀改为.
CSV
如果是通过
判断
文件
后缀来识别
文件
类型,这样肯定是行不通的,因为exe的
文件
格式肯定不是
CSV
的格式,如果提前
判断
出这个
文件
头的这样就能定位这个
文件
是不是
我们所需要的
文件
类型,避免对错误的
文件
进行解析。同样也可以在某种程度上保护服务器的安全。
python
判断
CSV
文件
是否空
导入os库 1.
判断
csv
文件
是否存在 fileName="time_conf.
csv
" if os.path.exists(fileName): print("file exist!") else: print("file not exist!") 2.
判断
csv
文件
的
内容
是否为空 os.path.getsize()返回
文件
的字节数,如果为 0,则代表空。 fileName="test.
csv
" if os.path.getsize(fileName): print.
基础编程
21,886
社区成员
140,365
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章