Python 从csv文件的特定行打印

Python 从csv文件的特定行打印,python,csv,Python,Csv,例如,我的csv文件在一个文件中有多个表 name age gender n1 10 f n2 20 m n3 30 m city population city1 10 city2 20 city3 30 姓名年龄性别 n110f n2 20米 n3 30米 城市人口 城市110 城市2 20 城市3 30 如何从城市行打印到城市3行。使用python csv模块,您需要找到一种方法来检测文件相关部分的开始和结束;csv模块本身不包含任何用于执行此操作的

例如,我的csv文件在一个文件中有多个表

name age gender n1 10 f n2 20 m n3 30 m city population city1 10 city2 20 city3 30 姓名年龄性别 n110f n2 20米 n3 30米 城市人口 城市110 城市2 20 城市3 30
如何从城市行打印到城市3行。使用python csv模块,您需要找到一种方法来检测文件相关部分的开始和结束;
csv
模块本身不包含任何用于执行此操作的内置机制,因为特定节的开头和结尾没有通用且明确的分隔符


我不得不质疑这样把多个CSV文件塞进一起是否明智。有没有理由不能将这些部分分割成单独的文件?

对于这个问题,没有合适的
csv
模块。或者,您也可以使用模块进行正则表达式匹配

例如:

with open("file.csv") as f:
    data = f.readlines()
cities = [re.findall("(city.*)", line)[0] for line in data]
print cities

它应该打印以关键字“city”开头的所有行。

欢迎使用堆栈溢出。请尽快阅读这一页。Python2.x和Python3.x有什么问题?@JonathanLeffler啊,我以前从来没有找过
csv
模块。但是这个问题发布的格式看起来不像
.csv
是的…csv是一个被滥用的术语。有时,就像这里一样,它可能更适合称为DSV分隔符分隔变量格式。这里的分隔符可能是一个选项卡。Python CSV模块可以处理CSV格式的许多变体,特别是它可以处理这个变体,或者至少可以处理其中的任何一个部分,但可能不能处理挤在一起的两个部分。
CSV
模块可以实际处理许多类似形式的文本表,这些文本表被划分为带有分隔符的行和列。。。不仅仅是那些真正用逗号分隔的格式。@DanLenski As
csv
是一种非常简单的格式,我只想使用正则表达式和列表理解来阅读它们。